#include <stdio.h>
#include <SDL/SDL.h>
#include "IHM.h"
#include "personnage.h"
#include "gestion.h"
#include "terrain.h"
#include "interaction_T_P.h"
#include "interaction_P_P.h"
#include "mode.h"





int main (){

#define NBPERSOJOUEUR 12 // chaque joueur à 12 perso

_configuration* Config;
Config = Init_Configuration();
_terrain* Terrain;
Terrain = Init_Terrain();
SDL_Init(SDL_INIT_VIDEO);
_joueur* Joueur[4];
_personnage* ListePerso[NBPERSOJOUEUR*4];
SDL_Surface*** Sprites;
Sprites = Chargement_Affichage_Personnage();

int i,j,k;
int NbJoueurs, NbIa, NomCarte;
int NbJoueurTotal;


Afficher_Menu(Config);

NbJoueurs = Get_NbJoueurs(Config);
NbIa = Get_NbIa(Config);
NomCarte = Get_NomCarte(Config);
NbJoueurTotal =NbJoueurs + NbIa; 
Set_Nom(Terrain, NomCarte);

/*initialisation des joueurs et IA, les joueurs sont placer en premier, ordre de passage ?*/

for (i=0; i < NbJoueurTotal; i++)
	Joueur[i] = Init_Joueur(i+1);

for (i=0; i < NbJoueurs ; i++)
	Set_Humain(Joueur[i],1);

for (i=NbJoueurs; i <NbIa ; i++)
	Set_Humain(Joueur[i],0);


/*initialisation des personnages*/

for ( i=0; i < (NbJoueurTotal*NBPERSOJOUEUR); i++)
	ListePerso[i] = Init_Personnage();


for(i=0; i < (NbJoueurTotal*NBPERSOJOUEUR); i++) 
{
	j = i/12;
	
	if( i%12 <=3)
	{
	Set_Perso(ListePerso[i],2,j+1);
	}
	if( i%12 >=4 && i%12<=7)
	{
	Set_Perso(ListePerso[i],1,j+1);
	}
	if( i%12 >=8 &&  i%12<=11)
	{
	Set_Perso(ListePerso[i],3,j+1);
	}
	Set_Id(ListePerso[i],2+i); 
}

Set_Nom(Terrain,Get_NomCarte(Config));
Set_Terrain(Terrain, Get_Nom(Terrain));




Ecran_Aide();
Jeu (Terrain,Joueur,ListePerso,Config);




/*Libérations*/

SDL_Quit(); 

Libere_Configuration (Config);

Libere_Terrain(Terrain);


for (i=0; i < NbJoueurs + NbIa ; i++){
	printf(" i = %d \n", i);
	Libere_Joueur(Joueur[i]);
}



for ( i=0; i < (NbJoueurTotal*NBPERSOJOUEUR); i++){
	Libere_Personnage(ListePerso[i]);
}


return 0;
}
